matlab里cell和char,字符串与字符数组 您所在的位置:网站首页 matlab logical转char matlab里cell和char,字符串与字符数组

matlab里cell和char,字符串与字符数组

2024-07-16 03:27| 来源: 网络整理| 查看: 265

转载自:http://blog.sina.com.cn/s/blog_6a388c8f01015n04.html

用importdata和textscan读取内容为字符串的txt,结果为cell型元胞组。

我想把cell变成char型,然后就自然地想到cell2str,遗憾的是matlab中没有这个函数。

就像没有str2cell一样。

实现str2cell功能的函数是cellstr,将字符数组转换为cell型字符串数组

函数语法为c = cellstr(S)

它的作用是:将字符数组S中的每行分割成为cell细胞元组C的一个元素。并删除S的每行尾部空格

正好与char相反,char是将cell字符串数组转化为字符数组s=char(c)

 

 

很多人分不开字符数组和字符串什么区别。 >>str1='i love matlab' % 这是一个字符数组,也是一个字符串 str1 = i love matlab >>str2=['I ';'am ';'a ';'boy'];% 这是字符数组,由于是数组,所以每一行必须具有相同的列数(字符数相同),不够补空格 str2 = I am a boy 由于字符数组必须满足每一行具有相同的字符数,所以输入时很麻烦。通常情况我们使用char函数来完成自动补充空格或者创建字符串cell细胞元组。 >>char('i','love','matlab') % char函数会自动补充空格 ans = i love matlab >>{'i','love','matlab'} % 在cell字符串中,每个单元都可以完全不同的内容,所以,不需要补充空格。 ans = 'i' 'love' 'matlab'

 

下面来看几个例子:

例1:创建一个字符串数组,记住补空格 >>S= ['abc '; 'defg'; 'hi  '] (下划线代表空格) S = abc defg hi >>whos S Name Size Bytes Class S    3x4  24    char array 例2:下面使用cellstr将字符数组,转换为3*1的cell细胞元组,此时尾部空格会自动删除 : >>c = cellstr(S) c = 'abc' 'defg' 'hi' >>whos c Name Size Bytes Class c    3x1  294   cell array 例3:再使用char函数将cell字符串转换为字符数组 >>char(c) ans = abc defg hi >> whos ans Name Size Bytes Class Attributes ans  3x4  24    char



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有